<?php 
/**
*  @package :  class.main
*  @author  :  邝达峰
*  @date    : 2017-07-15
*  配置处理类
*/

class Config
{

	/**
     * ini配置分隔符
     * @var string
     */
	protected $sectionSeparator = ';';

	/**
    * 构造函数
    * @param:  NULL
    * @return: NULL
    * @access: public
    */
	public function __construct()
	{

	}

	/**
    * 析构函数
    * @param:  NULL
    * @return: NULL
    * @access: public
    */
	public function __destruct()
	{

	}

	/**
     * 获取到配置
     * @param $file 配置文件名 默认存储路径 /system/config
     * @param $attr 配置属性   配置文件里面对应配置属性
     */
	public  function get($file = null , $attr = null)
	{
		if(!empty($file)){
			$strFilePath = SYSTEM_CONFIG_PATH.$file.'.inc.php';
			if(file_exists($strFilePath)){
				$arrConfig = require($strFilePath);
			}
			//判断配置是否存在
			if(!empty($attr) &&  is_array($arrConfig) && !empty($arrConfig)){
				if(array_key_exists($attr,$arrConfig)){
					$arrConfig = $arrConfig[$attr];
				}
			}
		}
		return $arrConfig;
	}

	/**
     * 获取到ini配置
     * @param $file 配置文件名 默认存储路径 /system/config
     * @param $attr 配置属性   配置文件里面对应配置属性
     */
	public  function getIni($file = null , $attr = null)
	{
		if(!empty($file)){
			$strFilePath = SYSTEM_CONFIG_PATH.$file.'.ini';
			if(file_exists($strFilePath)){
				$arrConfig = parse_ini_file($strFilePath,true);
			}
			$iniArray = array();
			$iniChildArray = array();
			foreach ($arrConfig as $key => $data)
			{
				$pieces = explode(';', $key);
				$thisSection = trim($pieces[0]);
				if(is_array($data))
				{
					foreach ($data as $dk => $dv)
					{
						if(strpos($dk,'.') !== false)
						{
							$arrChinaData = explode('.',$dk);
							$iniChildArray[$arrChinaData[0]][$arrChinaData[1]] = $dv;
						}
					}
					$data = $iniChildArray;
				}
				$iniArray[$thisSection] = $data;
			}
			if(!empty($attr) &&  is_array($iniArray) && !empty($iniArray)){
				if(array_key_exists($attr,$iniArray)){
					$arrConfig = $iniArray[$attr];
				}
			}
		}
		return $arrConfig;
	}
}
?>